#include "tinyxml.h"
#include <map>
#include <string>
#include <vector>
using namespace std;

class IElement;
typedef pair<wstring,vector<IElement*> >	str_vec_pair;
class CQuickVisitor : public TiXmlVisitor
{
	wstring m_strFrameName;
	vector<IElement*> m_vecElements;
	map<wstring,vector<IElement*> > * m_pmapElemets;
    void CreateTimeShow(const TiXmlElement& element);
	void CreateButton(const TiXmlElement&);
	void CreateSignalBar(const TiXmlElement& element);
	void CreateAniImage(const TiXmlElement&);
	void CreateStaticImage(const TiXmlElement&);
	void CreateStaticText(const TiXmlElement&);
	void CreateCheckBox(const TiXmlElement&);
	void CreateRatioButton(const TiXmlElement&);
	void CreateProgressBar(const TiXmlElement&);
	void CreateBattery(const TiXmlElement& element);
	void CreateVolume(const TiXmlElement& element);
	void CreateSlider(const TiXmlElement&);
	void CreateEditBox(const TiXmlElement&);
	void CreateTransparentayer(const TiXmlElement&);
	void CreateBackImg(const TiXmlElement&);
	void CreateListCtrl(const TiXmlElement& element);
	void CreateEbook(const TiXmlElement& element);
	void CreateSprectrum(const TiXmlElement& element);
	void CreateListBox(const TiXmlElement& element);
	void CreateAnalogClock(const TiXmlElement& element);
	void CreateSMSStatuBar(const TiXmlElement& element);
	void CreateSMSAniImage(const TiXmlElement&element);

	void CreateConectStatuBar(const TiXmlElement& element);
	void CreateWeatherStatuBar(const TiXmlElement& element);
	void CreateTemperatureText(const TiXmlElement& element);
	void CreateTemperatureInfo(const TiXmlElement& element);
	void CreateGPSStatuBar(const TiXmlElement& element);
public:
	CQuickVisitor(map<wstring,vector<IElement*> > * pMap):\
		m_pmapElemets(pMap)
	{
	}
	virtual ~CQuickVisitor() {}

	/// Visit an element.
	virtual bool VisitExit( const const TiXmlElement& element);
	virtual bool VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute );
};